<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script type="text/javascript" src="./ajax.js"></script>
</head>
<body>
    <script>
        // Async / await 语法糖

        // async函数可能包含0个或者多个await表达式。
        // await表达式会暂停整个async函数的执行进程并出让其控制权，
        // 只有当其等待的基于promise的异步操作被兑现或被拒绝之后才会恢复进程。
        // promise的解决值会被当作该await表达式的返回值。
        // 使用async / await关键字就可以在异步代码中使用普通的try / catch代码块。
        // 一个不含await表达式的async函数是会同步运行的，如果含有则是异步执行
        // 参考： https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/async_function
        async function  main(){
            try {
                const users = await ajax('/part-1/javascript-asyn/code/test.json')
                console.log(users)
                const test = await Promise.resolve('sssss')
                console.log(test)
                return [users, test]
            } catch (error) {
                console.log(error)
            }
        }

        const promise = main()
        promise.then(value=>{
            console.log(value)
            console.log('compoleted')
        }).catch(error=>{
            console.log(error)
        })

        

    </script>
</body>
</html>